Skip to content

Word the tail-part comma report without naming a field (#629) - #630

Merged
derek73 merged 2 commits into
masterfrom
fix/issue-629-tail-part-report
Oct 10, 2026
Merged

derek73 merged 2 commits into
masterfrom
fix/issue-629-tail-part-report

Conversation

@derek73

@derek73 derek73 commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

Summary

Segment's comma-structure report on a part past the second comma said the part was "consumed as suffix best-effort". That was true through 2.3.0, when the whole part read as suffix. Since #603 (rules.md#C2), a title word there reads as a title, so the report named a field the word isn't in. That happened this cycle and never shipped.

The report now names no field:

Input Before Now
John Smith, Jr., Dr. Bart …; consumed as suffix best-effort …; read best-effort
John Smith, Jr., Bart …; consumed as suffix best-effort …; read best-effort

It says what is certain, that the part is beyond the recognized comma structures, and the fields say where each word went. The input is malformed, so the fix is one string, not machinery. Report kinds are unchanged; only the detail text moves.

History

The first commit (0d5fea4) named every field the part's words land in ("consumed as title and suffix best-effort"), worded at assemble from the final roles. Review found that it withdrew the report from a name emptied of content (", , -"), against rules.md#A2, and it needed a second tail on PendingAmbiguity, an assemble branch and an equality check in the field guard. The second commit (14c750d) reverts all of that for the neutral wording. decisions.md#A1's entry records the declined design and why.

Measured (decisions.md#A1, 2026-10-10)

Against master bc24386, comparing every report's kind, detail and referents plus the seven fields:

  • Population: the corpora and the case table (1,925 texts), plus a tail grid of 97,650 texts, each under the three orders.
  • What moves: only the detail of comma-structure reports (90 in the named texts, 247,353 in the grid). No report appears or goes; ", , -" keeps its report as on master.
  • Five differential gates: all exit 0. They compare report kinds, which don't move.

Tests

  • test_segment.py: the report's verbatim detail on John Smith, Jr., Dr. Bart.
  • The field guard (test_a_report_names_the_field_its_word_lands_in) is unchanged: the new wording names no field, so there is nothing for it to check.

Docs

Closes #629

🤖 Generated with Claude Code

Segment's comma-structure report on a part past the second comma said
the part was "consumed as suffix best-effort". Since #603 a title word
there reads as a title, so `John Smith, Jr., Dr. Bart` was told 'Dr.'
was a suffix (this cycle, never shipped). #626's field_tail names only
the first referent's field, and one part's words land in two, so
PendingAmbiguity gains fields_tail: assemble names every field the
referents hold, by role name in canonical order ("consumed as title and
suffix best-effort"). A part landing wholly in suffix keeps the
wording every release gave it.

The field sweep reads the phrase and checks it for equality; its
control is 6 failures on master, and the recorded claim count moves
from 1155 to 1180. Measured against master over the corpora, the case
table and a 97,650-text tail grid under three orders: only the detail
of comma-structure reports on a part holding a title moves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73 derek73 added this to the 2.4 milestone Oct 10, 2026
@derek73 derek73 added the bug label Oct 10, 2026
@derek73 derek73 self-assigned this Oct 10, 2026
@codecov

codecov Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.01%. Comparing base (bc24386) to head (14c750d).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #630   +/-   ##
=======================================
  Coverage   99.01%   99.01%           
=======================================
  Files          46       46           
  Lines        4486     4486           
=======================================
  Hits         4442     4442           
  Misses         44       44           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Replaces 0d5fea4's mechanism with the simpler fix the issue offered:
the comma-structure report on a part past the second comma now says
"beyond the recognized comma structures; read best-effort" and names no
field, since the part's words can land in two and the fields say where
each went. The input is malformed, so the report is not worth
machinery.

Reverts PendingAmbiguity.fields_tail, assemble's branch for it, the
field guard's equality check and the A1 clause. Review of 0d5fea4
found that branch withdrew the report from a name emptied of content
(", , -"), against rules.md#A2; with nothing worded at assemble that
case keeps its report as on master. Measured against master over the
corpora, the case table and the tail grid under three orders: only the
detail of comma-structure reports moves, and no report appears or goes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73 derek73 changed the title Name every field a tail part's words land in (#629) Word the tail-part comma report without naming a field (#629) Oct 10, 2026
@derek73
derek73 merged commit 195c408 into master Oct 10, 2026
11 checks passed
@derek73
derek73 deleted the fix/issue-629-tail-part-report branch October 14, 2026 04:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Smith, Jr., Dr. Bart reports its last part as "consumed as suffix" when 'Dr.' is read as a title

1 participant